package com.easytest.service;

import com.easytest.domain.UserInfo;
import com.easytest.util.R;

/**
 * 用户信息(UserInfo)表服务接口
 *
 * @author 陈标
 * @since 2023-11-03 21:14:28
 */
public interface UserInfoService {

    /**
     * 通过ID查询单条数据
     *
     * @param userId 主键
     * @return 实例对象
     */
    R queryById(Integer userId);

    /**
     * 全查询
     *
     * @param userInfo 筛选条件
     * @return 查询结果
     */
    R queryAll(UserInfo userInfo);

    /**
     * 新增数据
     *
     * @param userInfo 实例对象
     * @return 实例对象
     */
    R insert(UserInfo userInfo);

    /**
     * 修改数据
     *
     * @param userInfo 实例对象
     * @return 实例对象
     */
    R update(UserInfo userInfo);

    /**
     * 通过主键删除数据
     *
     * @param userId 主键
     * @return 是否成功
     */
    R deleteById(Integer userId);


    /**
     * 分页全查询
     *
     * @param userInfo 筛选条件
     * @param pageNum  当前第几页
     * @param pageSize 每页数量
     * @return 查询结果
     */
    R queryByPage(UserInfo userInfo, Integer pageNum, Integer pageSize);

    R saveUser(UserInfo userInfo);
}
